We revisit the approach to Byzantine fault-tolerant clock synchronizationbased on approximate agreement introduced by Lynch and Welch. Our contributionis threefold: (1) We provide a slightly refined variant of the algorithm yielding improvedbounds on the skew that can be achieved and the sustainable frequency offsets. (2) We show how to extend the technique to also synchronize clock rates. Thispermits less frequent communication without significant loss of precision,provided that clock rates change sufficiently slowly. (3) We present a coupling scheme that allows to make these algorithmsself-stabilizing while preserving their high precision. The scheme utilizes alow-precision, but self-stabilizing algorithm for the purpose of recovery.
展开▼